 /* 
 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 *
 * Editor configuration settings.
 *
 * Follow this link for more information:
 * http://wiki.fckeditor.net/Developer%27s_Guide/Configuration/Configurations_Settings
 */

FCKConfig.CustomConfigurationsPath = '' ;

FCKConfig.SkinPath = '../../fckskin/' ;

FCKConfig.EditorAreaCSS = FCKConfig.SkinPath + 'fck_editorarea.css' ;
FCKConfig.EditorAreaStyles = '' ;
FCKConfig.ToolbarComboPreviewCSS = '' ;

FCKConfig.DocType = '' ;

FCKConfig.BaseHref = '' ;

FCKConfig.FullPage = false ;

// The following option determines whether the "Show Blocks" feature is enabled or not at startup.
FCKConfig.StartupShowBlocks = false ;

FCKConfig.Debug = false ;
FCKConfig.AllowQueryStringDebug = true ;

FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;

FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;

// FCKConfig.Plugins.Add( 'autogrow' ) ;
// FCKConfig.Plugins.Add( 'dragresizetable' );
FCKConfig.AutoGrowMax = 400 ;

// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ;	// ASP style server side code <%...%>
// FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ;	// PHP style server side code
// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ;	// ASP.Net style tags <asp:control>

FCKConfig.AutoDetectLanguage	= true ;
FCKConfig.DefaultLanguage		= 'zh-cn' ;
FCKConfig.ContentLangDirection	= 'ltr' ;

FCKConfig.ProcessHTMLEntities	= true ;
FCKConfig.IncludeLatinEntities	= true ;
FCKConfig.IncludeGreekEntities	= true ;

FCKConfig.ProcessNumericEntities = false ;

FCKConfig.AdditionalNumericEntities = ''  ;		// Single Quote: "'"

FCKConfig.FillEmptyBlocks	= true ;

FCKConfig.FormatSource		= true ;
FCKConfig.FormatOutput		= true ;
FCKConfig.FormatIndentator	= '    ' ;

FCKConfig.GeckoUseSPAN	= false ;
FCKConfig.StartupFocus	= false ;
FCKConfig.ForcePasteAsPlainText	= false ;
FCKConfig.AutoDetectPasteFromWord = true ;	// IE only.
FCKConfig.ShowDropDialog = true ;
FCKConfig.ForceSimpleAmpersand	= false ;
FCKConfig.TabSpaces		= 0 ;
FCKConfig.ShowBorders	= true ;
FCKConfig.SourcePopup	= false ;
FCKConfig.ToolbarStartExpanded	= true ;
FCKConfig.ToolbarCanCollapse	= true ;
FCKConfig.IgnoreEmptyParagraphValue = true ;
FCKConfig.PreserveSessionOnFileBrowser = false ;
FCKConfig.FloatingPanelsZIndex = 10000 ;
FCKConfig.HtmlEncodeOutput = true ;

FCKConfig.TemplateReplaceAll = true ;
FCKConfig.TemplateReplaceCheckbox = true ;

FCKConfig.ToolbarLocation = 'In' ;

FCKConfig.ToolbarSets["WIKI"] = [
	['Undo','Redo','-','Cut','Copy','Paste','-','SelectAll','RemoveFormat','Outdent','Indent','Blockquote'],
	['-','Find','Replace','-','PageBreak','Templates','Smiley','-','Radio','Checkbox','Button','TextField','Textarea','Select'],
	'/',
	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
	['TextColor','BGColor'],
	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
	['OrderedList','UnorderedList','-'],
	['Link','Unlink','Anchor','Image','Table','Rule','SpecialChar'],
	'/',
	['Style','FontName','FontSize'],
	['-','ShowBlocks','Source','Print','Preview','FitWindow']
	];

FCKConfig.ToolbarSets["Default"] = [
	['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
	['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
	['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
	'/',
	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
	['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
	['Link','Unlink','Anchor'],
	['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
	'/',
	['Style','FontFormat','FontName','FontSize'],
	['TextColor','BGColor'],
	['FitWindow','ShowBlocks','-','About']		// No comma for the last row.
] ;

FCKConfig.ToolbarSets["Basic"] = [
	['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
] ;

FCKConfig.ToolbarSets["message"] = [
	['Bold','Italic','Underline','FontSize','-','Cut','Copy','Paste','-','Undo','Redo','RemoveFormat','TextColor','BGColor','-','UnorderedList','JustifyLeft','JustifyCenter','JustifyRight','Blockquote','-','Link','Unlink','Smiley','-','Preview','FitWindow','Source']
] ;

FCKConfig.EnterMode = 'p' ;			// p | div | br
FCKConfig.ShiftEnterMode = 'br' ;	// p | div | br

FCKConfig.Keystrokes = [
	[ CTRL + 65 /*A*/, true ],
	[ CTRL + 67 /*C*/, true ],
	[ CTRL + 70 /*F*/, true ],
	[ CTRL + 83 /*S*/, true ],
	[ CTRL + 88 /*X*/, true ],
	[ CTRL + 86 /*V*/, 'Paste' ],
	[ SHIFT + 45 /*INS*/, 'Paste' ],
	[ CTRL + 88 /*X*/, 'Cut' ],
	[ SHIFT + 46 /*DEL*/, 'Cut' ],
	[ CTRL + 90 /*Z*/, 'Undo' ],
	[ CTRL + 89 /*Y*/, 'Redo' ],
	[ CTRL + SHIFT + 90 /*Z*/, 'Redo' ],
	[ CTRL + 76 /*L*/, 'Link' ],
	[ CTRL + 66 /*B*/, 'Bold' ],
	[ CTRL + 73 /*I*/, 'Italic' ],
	[ CTRL + 85 /*U*/, 'Underline' ],
	[ CTRL + SHIFT + 83 /*S*/, 'Save' ],
	[ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ],
	[ CTRL + 9 /*TAB*/, 'Source' ]
] ;

FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;
FCKConfig.BrowserContextMenuOnCtrl = false ;

FCKConfig.EnableMoreFontColors = true ;
FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;

FCKConfig.FontFormats	= 'p;div;pre;address;h1;h2;h3;h4;h5;h6' ;
FCKConfig.FontNames		= 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
FCKConfig.FontSizes		= 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;

FCKConfig.StylesXmlPath		= FCKConfig.EditorPath + 'fckstyles.xml' ;
FCKConfig.TemplatesXmlPath	= FCKConfig.EditorPath + 'fcktemplates.xml' ;

FCKConfig.SpellChecker			= 'ieSpell' ;	// 'ieSpell' | 'SpellerPages'
FCKConfig.IeSpellDownloadUrl	= 'http://www.iespell.com/download.php' ;
FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ;	// Available extension: .php .cfm .pl
FCKConfig.FirefoxSpellChecker	= false ;

FCKConfig.MaxUndoLevels = 15 ;

FCKConfig.DisableObjectResizing = false ;
FCKConfig.DisableFFTableHandles = true ;

FCKConfig.LinkDlgHideTarget		= false ;
FCKConfig.LinkDlgHideAdvanced	= false ;

FCKConfig.ImageDlgHideLink		= false ;
FCKConfig.ImageDlgHideAdvanced	= false ;

FCKConfig.FlashDlgHideAdvanced	= false ;

FCKConfig.ProtectedTags = '' ;

// This will be applied to the body element of the editor
FCKConfig.BodyId = '' ;
FCKConfig.BodyClass = '' ;

FCKConfig.DefaultStyleLabel = '' ;
FCKConfig.DefaultFontFormatLabel = '' ;
FCKConfig.DefaultFontLabel = '' ;
FCKConfig.DefaultFontSizeLabel = '' ;

FCKConfig.DefaultLinkTarget = '' ;

// The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word
FCKConfig.CleanWordKeepsStructure = false ;

// Only inline elements are valid.
FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ;

FCKConfig.CustomStyles = 
{
	'Red Title'	: { Element : 'h3', Styles : { 'color' : 'Red' } }
};

// Do not add, rename or remove styles here. Only apply definition changes.
FCKConfig.CoreStyles = 
{
	// Basic Inline Styles.
	'Bold'			: { Element : 'b', Overrides : 'strong' },
	'Italic'		: { Element : 'i', Overrides : 'em' },
	'Underline'		: { Element : 'u' },
	'StrikeThrough'	: { Element : 'strike' },
	'Subscript'		: { Element : 'sub' },
	'Superscript'	: { Element : 'sup' },
	
	// Basic Block Styles (Font Format Combo).
	'p'				: { Element : 'p' },
	'div'			: { Element : 'div' },
	'pre'			: { Element : 'pre' },
	'address'		: { Element : 'address' },
	'h1'			: { Element : 'h1' },
	'h2'			: { Element : 'h2' },
	'h3'			: { Element : 'h3' },
	'h4'			: { Element : 'h4' },
	'h5'			: { Element : 'h5' },
	'h6'			: { Element : 'h6' },
	
	// Other formatting features.
	'FontFace' : 
	{ 
		Element		: 'span', 
		Styles		: { 'font-family' : '#("Font")' }, 
		Overrides	: [ { Element : 'font', Attributes : { 'face' : null } } ]
	},
	
	'Size' :
	{ 
		Element		: 'span', 
		Styles		: { 'font-size' : '#("Size","fontSize")' }, 
		Overrides	: [ { Element : 'font', Attributes : { 'size' : null } } ]
	},
	
	'Color' :
	{ 
		Element		: 'span', 
		Styles		: { 'color' : '#("Color","color")' }, 
		Overrides	: [ { Element : 'font', Attributes : { 'color' : null } } ]
	},
	
	'BackColor'		: { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } }
};

// The distance of an indentation step.
FCKConfig.IndentLength = 40 ;
FCKConfig.IndentUnit = 'px' ;

// Alternatively, FCKeditor allows the use of CSS classes for block indentation.
// This overrides the IndentLength/IndentUnit settings.
FCKConfig.IndentClasses = [] ;

// [ Left, Center, Right, Justified ]
FCKConfig.JustifyClasses = [] ;

// The following value defines which File Browser connector and Quick Upload
// "uploader" to use. It is valid for the default implementaion and it is here
// just to make this configuration file cleaner.
// It is not possible to change this value using an external file or even
// inline when creating the editor instance. In that cases you must set the
// values of LinkBrowserURL, ImageBrowserURL and so on.
// Custom implementations should just ignore it.
var _FileBrowserLanguage	= 'php' ;	// asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage	= 'php' ;	// asp | aspx | cfm | lasso | perl | php | py

// Don't care about the following line. It just calculates the correct connector
// extension to use for the default File Browser (Perl uses "cgi").
var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;

FCKConfig.LinkBrowser = true ;
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;
FCKConfig.LinkBrowserWindowWidth	= FCKConfig.ScreenWidth * 0.7 ;		// 70%
FCKConfig.LinkBrowserWindowHeight	= FCKConfig.ScreenHeight * 0.7 ;	// 70%

FCKConfig.ImageBrowser = true ;
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;
FCKConfig.ImageBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;	// 70% ;
FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;	// 70% ;

FCKConfig.FlashBrowser = true ;
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;
FCKConfig.FlashBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;	//70% ;
FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;	//70% ;

FCKConfig.LinkUpload = true ;
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage ;
FCKConfig.LinkUploadAllowedExtensions	= "" ;			// empty for all
FCKConfig.LinkUploadDeniedExtensions	= ".(html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm)$" ;	// empty for no one

FCKConfig.ImageUpload = true ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ;
FCKConfig.ImageUploadAllowedExtensions	= ".(jpg|gif|jpeg|png|bmp)$" ;		// empty for all
FCKConfig.ImageUploadDeniedExtensions	= "" ;							// empty for no one

FCKConfig.FlashUpload = true ;
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Flash' ;
FCKConfig.FlashUploadAllowedExtensions	= ".(swf|fla)$" ;		// empty for all
FCKConfig.FlashUploadDeniedExtensions	= "" ;					// empty for no one

FCKConfig.SmileyPath	= FCKConfig.BasePath + 'images/smiley/msn/' ;
FCKConfig.SmileyImages	= ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;
FCKConfig.SmileyColumns = 8 ;
FCKConfig.SmileyWindowWidth		= 320 ;
FCKConfig.SmileyWindowHeight	= 240 ;
/*

 FCKDialog.goDialog = function (path,title,w,h) { dialogInfo = new Object(); 
 dialogInfo.Title = title; 
 FCKDialog.Show(dialogInfo,title,path,w,h,window,false); 
 } 
 byeDiag = function () {
	 // MSIE bug workaround: Hide the blocker, instead of removing it var myBlocker = window.myBlockerRef.pop(); 
    //myBlocker.ode.removeChild(myBlocker); 
 myBlocker.style.display="none"; 
 var myFrame = window.myFrameRef.pop(); 
 myFrame.ode.removeChild(myFrame); 
 FCK.Focus(); 
 FCKFocusManager.RestoreSelection(); 
 } 
 */
 /*
 FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, window, resizable ) {
   FCKFocusManager.SaveSelection(); 
   dialogHeight-=30; 
 var windowHeight = window.innerHeight || window.document.documentElement.clientHeight || window.document.body.clientHeight; 
 var iTop = (windowHeight - dialogHeight) / 2 + window.document.documentElement.scrollTop; 
 var iLeft = (window.document.body.scrollWidth - dialogWidth) / 2 ; 
 var myBlocker; 
 if(iTop < 7) { iTop = 7; 
 } if ( FCKBrowserInfo.IsGecko ) { myBlocker = window.document.createElement('img'); 
 myBlocker.style.position="absolute"; 
 myBlocker.name = "myBlocker"+Math.floor(Math.random()*10000); 
 myBlocker.src = "/images/overlay.png"; 
 myBlocker.style.height = window.document.body.scrollHeight; 
 myBlocker.style.width = "100%"; 
 myBlocker.style.top = "0px"; 
 myBlocker.style.left = "0px"; 
 window.document.body.appendChild(myBlocker); 
 } else { //TODO - We lose focus here for indeterminate reasons: oLink in fck_link.js for example myBlocker = window.document.createElement('div'); 
 myBlocker.style.position="absolute"; 
 myBlocker.name = "myBlocker"+Math.floor(Math.random()*10000); 
 myBlocker.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/images/overlay.png", sizingMethod="scale"); 
 '; 
 myBlocker.style.height = window.document.body.scrollHeight; 
 myBlocker.style.width = "100%"; 
 myBlocker.style.top = "0"; 
 myBlocker.style.left = "0"; 
 window.document.body.appendChild(myBlocker); 
 } var myDraggable = window.document.createElement('div'); 
 myDraggable.style.position="absolute"; 
 myDraggable.style.background="#FFFFFF"; 
 myDraggable.name = "myDraggable"+Math.floor(Math.random()*1000000); 
 myDraggable.id = myDraggable.name; 
 myDraggable.className = "drag"; 
 myDraggable.style.padding = "0"; 
 myDraggable.style.margin = "0"; 
 myDraggable.style.height = (dialogHeight+20)+"px"; 
 myDraggable.style.width = dialogWidth+"px"; 
 myDraggable.style.top = iTop+"px"; 
 myDraggable.style.left = iLeft+"px"; 
 myDraggable.style.border = "1px solid #666"; 
 window.document.body.appendChild(myDraggable); 
 var myTitlebar = window.document.createElement('div'); 
 myTitlebar.style.position="relative"; 
 myTitlebar.innerHTML = "
"+dialogInfo.Title+"
"; 
 myTitlebar.style.background="#C2CDAD"; 
 myTitlebar.name = "myTitlebar"+Math.floor(Math.random()*1000000); 
 myTitlebar.id = myTitlebar.name; 
 myTitlebar.style.padding = "0"; 
 myTitlebar.style.margin = "0"; 
 myTitlebar.style.cursor = "pointer"; 
 myTitlebar.style.height = "20px"; 
 myTitlebar.style.width = dialogWidth+"px"; 
 myDraggable.appendChild(myTitlebar); 
 var myFrame = window.document.createElement('iframe'); 
 myFrame.style.position="relative"; 
 myFrame.name = "myFrame"+Math.floor(Math.random()*1000000); 
 myFrame.id = myFrame.name; 
 myFrame.style.padding = "0"; 
 myFrame.style.margin = "0"; 
 myFrame.style.height = dialogHeight+"px"; 
 myFrame.style.width = dialogWidth+"px"; 
 myFrame.style.border = "none"; 
 myFrame.src=pageUrl; 
 myDraggable.appendChild(myFrame); 
 if (!window.myFrameRef) window.myFrameRef = new Array(); 
 if (!window.myBlockerRef) window.myBlockerRef = new Array(); 
 window.myFrameRef.push(myDraggable); 
 window.myBlockerRef.push(myBlocker); 
 window.myDialogInfo = dialogInfo; 
 window.myWindow = window; 
 } 
 */
 //FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, window, resizable ) {
   //FCKFocusManager.SaveSelection(); 
   /*
 if ( FCKBrowserInfo.IsGecko ) { 
 myBlocker = document.createElement('img'); 
 myBlocker.style.position="absolute"; 
 myBlocker.name = "myBlocker"+Math.floor(Math.random()*10000); 
 myBlocker.src = "/images/overlay.png"; 
 myBlocker.style.height = document.body.scrollHeight; 
 myBlocker.style.width = "100%"; 
 myBlocker.style.top = "0px"; 
 myBlocker.style.left = "0px"; 
 document.body.appendChild(myBlocker); 
 /*
 } else { //TODO - We lose focus here for indeterminate reasons: oLink in fck_link.js for example myBlocker = window.document.createElement('div'); 
 myBlocker.style.position="absolute"; 
 myBlocker.name = "myBlocker"+Math.floor(Math.random()*10000); 
 myBlocker.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/images/overlay.png", sizingMethod="scale"); 
 '; 
 myBlocker.style.height = window.document.body.scrollHeight; 
 myBlocker.style.width = "100%"; 
 myBlocker.style.top = "0"; 
 myBlocker.style.left = "0"; 
 window.document.body.appendChild(myBlocker); 

 }
 */
 //}

 FCKDialog.OpenDialog = function(dialogName, dialogTitle, dialogPage, width, height, customValue, indow, resizable ) 
	 { // Setup the dialog info. 
	 var oDialogInfo = new Object() ; 
	 oDialogInfo.Title = dialogTitle ; 
	 oDialogInfo.Page = dialogPage; 
	 oDialogInfo.Editor = window; 
	 oDialogInfo.CustomValue = customValue ;         // Optional
	 var sUrl = FCKConfig.BasePath + 'fckdialog.html' ;
	 this.Show( oDialogInfo, dialogName, sUrl, width, height, indow, resizable ) ;
 } 
